Customizing mobile device operation based on touch points

ABSTRACT

In an approach for customizing a mobile device interface based on touch points, a processor receives detection of points of contact between a user and a mobile device. A processor analyzes the points of contact between the user and the mobile device. A processor determines how many hands the user is holding the mobile device with. A processor determines a modification for a user interface for the mobile device, wherein determining the modification comprises: presenting a keyboard selected from the group consisting of: a first keyboard, based on a determination that the user is holding the mobile device with one hand, and a second keyboard, based on a determination that the user is holding the mobile device with two hands. A processor causes the modified user interface to be displayed on the mobile device.

BACKGROUND

The present invention relates generally to the field of mobile devices,and more particularly to customizing a mobile device interface based ontouch points.

A mobile device is a computing device small enough to hold and operatein the hand. Typically, the device has either a flat screen display witha small numeric keypad or alphanumeric keyboard, or a touchscreenproviding a virtual keyboard and buttons (icons) on-screen. Many suchdevices can connect to the Internet and interconnect with other devices,such as: car entertainment systems or headsets via Wi-Fi, Bluetooth®, ornear-field communication (NFC). Integrated cameras, digital mediaplayers, mobile phone, and Global Positioning System (GPS) capabilitiesare common. Power is typically provided by a lithium battery. Mobiledevices may run mobile operating systems that allow third-partyapplications specialized for said capabilities to be installed and run.

Early pocket-sized devices were recently joined in the marketplace bylarger, but otherwise similar, tablet computers. Input and output is nowusually via a touchscreen interface. Smartphones and personal digitalassistants may provide much of the functionality of a laptop or desktopcomputer, but more conveniently. Mobile devices often contain sensors,such as: accelerometers, compasses, magnetometers, and gyroscopes,allowing detection of orientation and motion. Mobile devices may providebiometric user authentication, such as: facial recognition orfingerprint recognition.

SUMMARY

Aspects of an embodiment of the present invention disclose a method,computer program product, and computing system for customizing a mobiledevice interface based on touch points. A processor receives detectionof points of contact between a user and a mobile device. A processoranalyzes the points of contact between the user and the mobile device. Aprocessor determines how many hands the user is holding the mobiledevice with. A processor determines a modification for a user interfacefor the mobile device, wherein determining the modification comprises:presenting a keyboard selected from the group consisting of: a firstkeyboard, based on a determination that the user is holding the mobiledevice with one hand, and a second keyboard, based on a determinationthat the user is holding the mobile device with two hands. A processorcauses the modified user interface to be displayed on the mobile device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a block diagram of a computing system, in accordance withan embodiment of the present invention.

FIG. 2 depicts a flowchart of the steps of a customize program,executing within the computing system of FIG. 1, for customizing amobile device based on touch points, in accordance with an embodiment ofthe present invention.

FIG. 3 depicts a block diagram of components of the server and/or thecomputing device of FIG. 1, in accordance with an embodiment of thepresent invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that how a user holds amobile device influences how best to operate the mobile device. Mobiledevices are held and operated in many different ways. For example, auser in some situations may operate a mobile device: one-handed,cradling phone, using thumb to operate; cradling phone in one hand,while using the index finger on the other hand to operate; and twohanded, using both thumbs to operate. Embodiments of the presentinvention also recognize that screen size and position can influence auser's ability to interact with a graphical user interface (GUI) of themobile device (e.g., a user operating a device one-handed may havetrouble reaching items on the far side of the screen). Embodiments ofthe present invention recognize that virtual keyboard selection andapplication selection are both important when operating a mobile device.When keyboard is mentioned herein, it should be assumed to mean avirtual keyboard. For example, a swipe-style keyboard may be mosteffective for one-handed operation, while a traditional keyboard may bebetter for two-handed operation. Also, for example, some applicationswork well in one-handed operation, while other applications may be nearimpossible to operate one-handed and using only a thumb. Embodiments ofthe present invention disclose a method of customizing a mobile deviceuser interface to be cognizant of how a user is holding and operatingthe mobile device.

Embodiments of the present invention disclose a system that uses a touchsensitive bezel and/or a touch sensitive back/sides on a mobile deviceto detect contact with skin and derive both how the mobile device isbeing held and how the mobile device will be operated (i.e., one-handedwith thumb, two-handed, etc.). Additionally, embodiments of the presentinvention disclose a system that customizes the placement of userinterface objects, keyboard type, and available applications, based ondetermining how a user is holding and operating a mobile device.

Embodiments of the present invention will now be described in detailwith reference to the Figures.

FIG. 1 depicts a block diagram of computing system 10, in accordancewith one embodiment of the present invention. FIG. 1 provides anillustration of one embodiment and does not imply any limitations withregard to the environments in which different embodiments may beimplemented.

In the depicted embodiment, computing system 10 includes server 30 andcomputing device 40 interconnected over network 20. Network 20 may be alocal area network (LAN), a wide area network (WAN) such as theInternet, a cellular data network, any combination thereof, or anycombination of connections and protocols that will supportcommunications between server 30 and computing device 40, in accordancewith embodiments of the invention. Network 20 may include wired,wireless, or fiber optic connections. Computing system 10 may includeadditional computing devices, servers, or other devices not shown.

Server 30 may be a management server, a web server, or any otherelectronic device or computing system capable of processing programinstructions and receiving and sending data. In some embodiments, server30 may be a laptop computer, tablet computer, netbook computer, personalcomputer (PC), a desktop computer, or any programmable electronic devicecapable of communicating with computing device 40 via network 20. Inother embodiments, server 30 may represent a server computing systemutilizing multiple computers as a server system, such as in a cloudcomputing environment. In another embodiment, server 30 represents acomputing system utilizing clustered computers and components to act asa single pool of seamless resources. In the depicted embodiment, server30 contains customize program 110 and database 120. In otherembodiments, server 30 may include customize program 110, database 120,and/or other components, as depicted and described in further detailwith respect to FIG. 3.

Computing device 40 may be a personal device (e.g., mobile phone orsmartphone), desktop computer, laptop computer, netbook computer, ortablet computer. In general, computing device 40 may be any electronicdevice or computing system capable of processing program instructions,sending and receiving data, and communicating with other devices over anetwork. In the depicted embodiment, computing device 40 contains userinterface 130 and sensor 140. In other embodiments, computing device 40may include user interface 130, sensor 140, and/or other components, asdepicted and described in further detail with respect to FIG. 3.

Customize program 110 customizes a mobile device interface based ontouch points of a user interacting with computing device 40. In doingso, customize program 110 receives detection of contact with computingdevice 40 from sensor 140. Customize program 110 analyzes the points ofcontact. Customize program 110 determines a customized user interface.Customize program 110 causes the customized user interface to bedisplayed. In the depicted embodiment, customize program 110 resides onserver 30. In other embodiments, customize program 110 may reside onanother server, computing device 40, or another computing device,provided that customize program 110 can access database 120, userinterface 130, and sensor 140.

Database 120 may be a repository that may be written to and/or read bycustomize program 110. In some embodiments, customize program 110 maycreate a list of the applications that require two-handed operation andstore the list to database 120. In other embodiments, database 120 maystore information about devices and users who may be authorized to usethe devices. In the depicted embodiment, database 120 resides on server30. In other embodiments, database 120 may reside on another server,computing device 40, or another computing device, provided that database120 is accessible to customize program 110.

User Interface 130 may be any graphical user interface used to accessinformation from server 30 and/or computing device 40, such asinformation gathered or produced by customize program 110 or informationgathered or produced by sensor 140, respectively. In some embodiments,user interface 130 may be the touch screen of a computing device 40(e.g., mobile phone). In other embodiments, user interface 130 may be asoftware program or application that enables a user at computing device40 to access database 120. In the depicted embodiment, user interface130 resides on computing device 40. In other embodiments, user interface130 may reside on another computing device or another server, providedthat user interface 130 is accessible to customize program 110.

Sensor 140 may be any device capable of detecting events or changes inan environment and providing a corresponding input. In one embodiment,sensor 140 may provide a corresponding output of a change in a user'shand position to customize program 110. Examples of sensor 140 may be,but is not limited to: a fingerprint sensor; optical sensor; facialrecognition sensor; accelerometer; and/or gyroscope. In someembodiments, sensors, such as sensor 140, may be operably affixed to oneor more devices, such as, for example, a smartwatch, wearable device,mobile device, etc. In other embodiments, sensor 140 may reside onanother computing device or another server, provided that sensor 140 isaccessible to customize program 110.

FIG. 2 depicts a flowchart of the steps of a customize program,executing within the computing system of FIG. 1, in accordance with anembodiment of the present invention. Customize program 110 customizes amobile device interface based on touch points.

In step 210, customize program 110 receives detection of contact. Thebezel and back of computing device 40 are fitted with touch sensors,such as sensor 140, which can detect, in general. For example, whencomputing device 40 makes contact with skin (e.g., a user's fingers orpalm). In one embodiment, customize program 110 receives detection ofcontact through the touch points on the touch sensitive bezel and/or thetouch sensitive back/sides. In some embodiments, customize program 110receives detection of contact through sensor 140. In other embodiments,customize program 110 recognizes a user's preference of handlingcomputing device 40 via fingerprint scan and retrieves the user'spreferences from database 120. For example, the user may store differentpreferences under the fingerprint of different fingers (i.e., onepreference could be provided with a thumb print and a second preferencecould be provided with the fingerprint of a right index finger). Anotherexample could be that all of the user's fingerprints and palm printscould be used to provide a particular preference (i.e., the way the useris holding the phone could provide that user's preference by retrievingthe saved preference from database 120). Customize program 110 may storethe received points of contact information for a particular user todatabase 120 for future use. The future use may be for trainingpurposes, the fingerprint recognition, or anything else for which thereceived points of contact could be used.

In step 220, customize program 110 analyzes the points of contact. Byanalyzing the touch points on computing device 40, customize program 110can derive how the user is holding computing device 40. For example, inone embodiment, customize program 110 derives the difference betweenholding computing device 40 with one hand or holding computing device 40with two hands, as well as cradling computing device 40 for operationwith one hand compared to cradling computing device 40 to hold in onehand to operate with the other hand. In some embodiments, customizeprogram 110 analyzes the points of contact by determining which part ofthe hand has come into contact with which sensor 140 on the touchsensitive bezel and/or the touch sensitive back. In other embodiments,customize program 110 analyzes the points of contact by estimating howfar the user could reach, based on the particular touch points viasensor 140. For example, two hands on either side are going to be ableto reach most of the screen, whereas just one hand on one side will morethan likely not be able to reach the other side. By way of anotherexample, customize program 110 could consider the estimated size of theuser's hand to determine the reach of the particular user's fingers onthe screen. Customize program 110 may store the analyzed information todatabase 120 for future use.

In some embodiments, for example, if the user is holding computingdevice 40 with two hands but takes off one hand for a couple of secondsto enjoy a sip of water, customize program 110 will recognize the changeto one-handed use and automatically toggle to a one-handed display modeuntil the user begins to use two hands again. At this point, customizeprogram 110 will automatically toggle back to a two-handed display mode.In another example, customize program 110 may not automatically toggleto a one-handed display mode when one hand is removed. In otherembodiments, customize program 110 may a predetermined time period(e.g., ten seconds) before toggling to a one-handed display mode, givingthe user time to remove one hand for a short period for any reason, suchas, taking a sip of water.

In some embodiments, customize program 110 uses facial recognition viasensor 140 to determine the orientation of the user. For example, if theuser is laying down but using a computing device 40 in landscape mode,the gyroscope is going to think the user is sitting up and using thecomputing device 40 in portrait mode. Customize program 110 alleviatesthis concern by, for example, recognizing the orientation of the user'sface and adjusting the screen accordingly.

In step 230, customize program 110 determines a customized userinterface based on the determinations of how computing device 40 isbeing held and how computing device 40 will be operated. Based on thisknowledge, customize program 110 determines a customized user interfaceon computing device 40 to reflect how the user is holding and operatingcomputing device 40. In one embodiment, customize program 110 customizesthe screen position (user interface objects), keyboard selection, andavailable application selection. In an embodiment, for the screenposition, customize program 110 moves aspects of user interface 130(e.g., application icons) to the left, right, up, or down to stay withinreach of how the user is holding and operating computing device 40. Whencustomize program 110 moves aspects of user interface 130, there may beblank space that is inaccessible. Customize program 110 may addadditional information in this inaccessible space, because even thoughthe space is inaccessible, the space is still visible to the user.

In another embodiment, for the screen position, customize program 110rearranges the application icons, such that the most frequently utilizedapplications are in better reach for the user. In one embodiment, forthe keyboard selection, customize program 110 uses, for example, aswipe-style keyboard for one-handed operation or a traditional keyboardfor two-handed operation. Customize program 110 can automatically switchbetween a swipe-style keyboard and a traditional keyboard, dynamically,as the user adjusts the grip on computing device 40, based on whetherthe user is holding computing device 40 with one hand or two hands. Insome embodiments, for the application selection, customize program showsonly application icons for applications that can be operated comfortablybased on how the user is holding and operating computing device 40. Todetermine what is comfortable for a particular user, customize program110 may require the user to do particular training exercises todetermine the reach that the user may have while holding computingdevice 40 at different angles and in different positions (not shown).

For example, customize program 110 may not show application icons forapplications on a home screen that require two-handed operation if theuser is operating the device with only one hand. In this example, duringone-handed operation, the application icons for applications thatrequire two-handed operation may disappear from the home screen or theapplication icons may appear as grayed out as unavailable. To determinewhich applications require two-handed operation, customize program 110uses any technique that may give such information (not shown). Forexample, customize program 110 may analyze the graphical user interfaceof an application interface to identify the location of the buttons todetermine if the application requires two-handed operation. If thebuttons are spread across the entire screen, customize program 110determines that particular application requires two-handed operation. Onthe other hand, if the buttons are close together and to one side of thescreen, customize program 110 determines that particular applicationdoes not require two-handed operation.

Additionally, customize program 110 may create a list of theapplications that require two-handed operation and store the list todatabase 120. For example, customize program 110 may search database 120for previously stored information about a user's preference to certainapplications and the user's preference holding and operating computingdevice 40. Another example, customize program 110 may search outsidedatabases for information on the use of various applications for mobiledevices. Another example, customize program 110 may retrieve usageinformation about the application once the application is downloaded tocomputing device 40. Customize program 110 may store the determinedcustomized user interface to database 120 for future use.

In step 240, customize program 110 causes the customized user interfaceto be displayed. In one embodiment, customize program 110 automaticallycauses the customized user interface to be displayed. In someembodiments, customize program 110 causes the customized user interfaceto be displayed after receiving acknowledgment from the user to displaythe customized user interface. In other embodiments, customize program110 causes the customized user interface to be displayed for apredetermined time period that is determined by the user. For example,while at work, the user mostly uses one hand to operate computing device40; therefore, once customize program 110 determines that the particularuser is operating computing device 40, customize program 110 may displaythe customized user interface during normal business hours in the onehand mode of display.

In one embodiment, customize program 110 may cause the customized userinterface to be displayed by, for example: determining that the user isoperating computing device 40 with one hand; retrieving the list ofapplications that require two-handed operation of computing device 40;and displaying the applications on the home screen of computing device40 that do not require two-handed operation. In this example, customizeprogram 110 may switch, automatically and dynamically, betweendisplaying, on the home screen of computing device 40, application iconsthat require two-handed operation and application icons that requireone-handed operation, based on how the user is holding computing device40. In one embodiment, all application icons may be displayed if theuser has no hands on computing device 40.

Customize program 110 can use this method on any mobile device,including a tablet. For example, customize program 110 would considerhow the user is holding the tablet (e.g., one handed, two handed, or nohands) and customize the user experience, accordingly, based on screenposition, keyboard selection, and application selection.

FIG. 3 depicts computer system 300, which is an example of a system thatincludes components of server 30 and/or computing device 40. Computersystem 300 includes processors 301, cache 303, memory 302, persistentstorage 305, communications unit 307, input/output (I/O) interface(s)306 and communications fabric 304. Communications fabric 304 providescommunications between cache 303, memory 302, persistent storage 305,communications unit 307, and input/output (I/O) interface(s) 306.Communications fabric 304 can be implemented with any architecturedesigned for passing data and/or control information between processors(such as microprocessors, communications and network processors, etc.),system memory, peripheral devices, and any other hardware componentswithin a system. For example, communications fabric 304 can beimplemented with one or more buses or a crossbar switch.

Memory 302 and persistent storage 305 are computer readable storagemedia. In this embodiment, memory 302 includes random access memory(RAM). In general, memory 302 can include any suitable volatile ornon-volatile computer readable storage media. Cache 303 is a fast memorythat enhances the performance of processors 301 by holding recentlyaccessed data, and data near recently accessed data, from memory 302.

Program instructions and data used to practice embodiments of thepresent invention may be stored in persistent storage 305 and in memory302 for execution by one or more of the respective processors 301 viacache 303. In an embodiment, persistent storage 305 includes a magnetichard disk drive. Alternatively, or in addition to a magnetic hard diskdrive, persistent storage 305 can include a solid state hard drive, asemiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 305 may also be removable. Forexample, a removable hard drive may be used for persistent storage 305.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage305.

Communications unit 307, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 307 includes one or more network interface cards.Communications unit 307 may provide communications through the use ofeither or both physical and wireless communications links. Programinstructions and data used to practice embodiments of the presentinvention may be downloaded to persistent storage 305 throughcommunications unit 307. Customize program 110 and database 120 may bedownloaded to persistent storage 305 of server 30 through communicationsunit 307 of server 30. User interface 130 and sensor 140 may bedownloaded to persistent storage 305 of computing device 40 throughcommunications unit 307 of computing device 40.

I/O interface(s) 306 allows for input and output of data with otherdevices that may be connected to each computer system. For example, I/Ointerface 306 may provide a connection to external devices 308 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 308 can also include portable computer readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention, e.g., customize program 110 anddatabase 120, can be stored on such portable computer readable storagemedia and can be loaded onto persistent storage 305 of server 30 via I/Ointerface(s) 306 of server 30. Software and data used to practiceembodiments of the present invention, e.g., user interface 130 andsensor 140, can be stored on such portable computer readable storagemedia and can be loaded onto persistent storage 305 of computing device40 via I/O interface(s) 306 of computing device 40. I/O interface(s) 306also connect to display 309.

Display 309 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A method for customizing a mobile deviceinterface based on touch points, the method comprising: receiving, byone or more processors, detection of points of contact between a userand a mobile device; analyzing, by one or more processors, the points ofcontact between the user and the mobile device; determining, by one ormore processors, how many hands the user is holding the mobile devicewith; and determining, by one or more processors, a modification for auser interface for the mobile device, wherein determining themodification comprises: presenting, by one or more processors, akeyboard selected from the group consisting of: a first keyboard, basedon a determination that the user is holding the mobile device with onehand, and a second keyboard, based on a determination that the user isholding the mobile device with two hands; and causing, by one or moreprocessors, the modified user interface to be displayed on the mobiledevice.
 2. The method of claim 1, further comprising: determining, byone or more processors, a first application that requires two-handedoperation; and creating, by one or more processors, a list ofapplications that require two-handed operation including, at least, theapplication.
 3. The method of claim 2, wherein causing the modified userinterface to be displayed on the mobile device comprises: determining,by one or more processors, the user is operating the mobile device withone hand; retrieving, by one or more processors, the list ofapplications that require two-handed operation; and excluding, by one ormore processors, application icons from the list of application thatrequire two-handed operation from a home screen of the mobile device. 4.The method of claim 1, wherein the points of contact are detectedthrough one or more touch sensors affixed to a bezel of the mobiledevice and a back surface of the mobile device.
 5. The method of claim1, wherein the modified user interface includes modified user interfaceobjects, modified keyboard type, and modified available applications. 6.The method of claim 1, wherein the first keyboard is a swipe-stylekeyboard and the second keyboard is a traditional keyboard.
 7. Themethod of claim 1, further comprising: determining, by one or moreprocessors, the user is operating the mobile device with two hands;determining, by one or more processors, the user has removed one handfrom the mobile device and is now operating the mobile device with onehand; and toggling, by one or more processors, automatically, themodified user interface from a two-handed operating mode to a one-handedoperating mode.
 8. A computer program product for customizing a mobiledevice interface based on touch points, the computer program productcomprising: one or more computer readable storage media and programinstructions stored on the one or more computer readable storage media,the program instructions comprising: program instructions to receivedetection of points of contact between a user and a mobile device;program instructions to analyze the points of contact between the userand the mobile device; program instructions to determine how many handsthe user is holding the mobile device with; and program instructions todetermine a modification for a user interface for the mobile device,wherein determining the modification comprises: program instructions topresent a keyboard selected from the group consisting of: a firstkeyboard, based on a determination that the user is holding the mobiledevice with one hand, and a second keyboard, based on a determinationthat the user is holding the mobile device with two hands; and programinstructions to cause the modified user interface to be displayed on themobile device.
 9. The computer program product of claim 8, furthercomprising: program instructions, stored on the one or more computerreadable storage media, to determine a first application that requirestwo-handed operation; and program instructions, stored on the one ormore computer readable storage media, to create a list of applicationsthat require two-handed operation including, at least, the application.10. The computer program product of claim 9, wherein programinstructions to cause the modified user interface to be displayed on themobile device comprise: program instructions to determine the user isoperating the mobile device with one hand; program instructions toretrieve the list of applications that require two-handed operation; andprogram instructions to exclude application icons from the list ofapplication that require two-handed operation from a home screen of themobile device.
 11. The computer program product of claim 8, wherein thepoints of contact are detected through one or more touch sensors affixedto a bezel of the mobile device and a back surface of the mobile device.12. The computer program product of claim 8, wherein the modified userinterface includes modified user interface objects, modified keyboardtype, and modified available applications.
 13. The computer programproduct of claim 8, wherein the first keyboard is a swipe-style keyboardand the second keyboard is a traditional keyboard.
 14. The computerprogram product of claim 8, further comprising: program instructions,stored on the one or more computer readable storage media, to determinethe user is operating the mobile device with two hands; programinstructions, stored on the one or more computer readable storage media,to determine the user has removed one hand from the mobile device and isnow operating the mobile device with one hand; and program instructions,stored on the one or more computer readable storage media, to toggle,automatically, the modified user interface from a two-handed operatingmode to a one-handed operating mode.
 15. A computer system forcustomizing a mobile device interface based on touch points, thecomputer system comprising: one or more computer processors, one or morecomputer readable storage media, and program instructions stored on thecomputer readable storage media for execution by at least one of the oneor more processors, the program instructions comprising: programinstructions to receive detection of points of contact between a userand a mobile device; program instructions to analyze the points ofcontact between the user and the mobile device; program instructions todetermine how many hands the user is holding the mobile device with; andprogram instructions to determine a modification for a user interfacefor the mobile device, wherein determining the modification comprises:program instructions to present a keyboard selected from the groupconsisting of: a first keyboard, based on a determination that the useris holding the mobile device with one hand, and a second keyboard, basedon a determination that the user is holding the mobile device with twohands; and program instructions to cause the modified user interface tobe displayed on the mobile device.
 16. The computer system of claim 15,further comprising: program instructions, stored on the computerreadable storage media for execution by at least one of the one or moreprocessors, to determine a first application that requires two-handedoperation; and program instructions, stored on the computer readablestorage media for execution by at least one of the one or moreprocessors, to create a list of applications that require two-handedoperation including, at least, the application.
 17. The computer systemof claim 16, wherein program instructions to cause the modified userinterface to be displayed on the mobile device comprise: programinstructions to determine the user is operating the mobile device withone hand; program instructions to retrieve the list of applications thatrequire two-handed operation; and program instructions to excludeapplication icons from the list of application that require two-handedoperation from a home screen of the mobile device.
 18. The computersystem of claim 15, wherein the points of contact are detected throughone or more touch sensors affixed to a bezel of the mobile device and aback surface of the mobile device.
 19. The computer system of claim 15,wherein the modified user interface includes modified user interfaceobjects, modified keyboard type, and modified available applications.20. The computer system of claim 15, wherein the first keyboard is aswipe-style keyboard and the second keyboard is a traditional keyboard.